package ltd.hyangyang.rpc.core.proxy;

import ltd.hyangyang.rpc.common.bean.RpcConfig;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class ClientProxyFactory  {

    RpcConfig rpcConfig;

    public ClientProxyFactory(RpcConfig rpcConfig){
        this.rpcConfig = rpcConfig;
    }

    public <T> T getProxy(Class<T> clazz){
//        (T) Proxy.newProxyInstance(clazz.getClassLoader(), new Class<?>[]{clazz}, this);
        return  (T) Proxy.newProxyInstance(clazz.getClassLoader(), new Class<?>[]{clazz}, new ClientInvocationHandler(rpcConfig));
    }
}
